package cn.good.yan.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;


/**
 * 订单实体 - 测试水平分片
 *
 * @author yan
 * @date 2024/11/30
 */
@TableName("t_c_order") // 逻辑表
@Data
@ToString
public class COrder {

    /**
     * 分布式id - 策略 -- 基于:MyBatisPlus的id策略
     */
//    @TableId(type = IdType.ASSIGN_ID)

    /**
     * 分布式id - 策略 -- 基于:ShardingSphere-JDBC的全局序列配，需要在配置文件配置 application4.properties中配置过
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    private String orderNo;

    private Long userId;

    private BigDecimal amount;


}

/**
 * 测试水平分片:
 * sql:
 * CREATE TABLE t_order0 (
 * id BIGINT,
 * order_no VARCHAR(30),
 * user_id BIGINT,
 * amount DECIMAL(10,2),
 * PRIMARY KEY(id)
 * );
 * CREATE TABLE t_order1 (
 * id BIGINT,
 * order_no VARCHAR(30),
 * user_id BIGINT,
 * amount DECIMAL(10,2),
 * PRIMARY KEY(id)
 * );
 */